package com.ssy.lingxi.purchase.service.tender;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.purchase.api.dto.request.tender.ExpertEvaluationTenderRequest;
import com.ssy.lingxi.purchase.api.dto.request.tender.ExpertExtractRecordQueryRequest;
import com.ssy.lingxi.purchase.api.dto.request.tender.ExpertExtractStatusRequest;
import com.ssy.lingxi.purchase.entity.tender.ExpertExtractRecord;
import org.springframework.data.domain.Page;

/**
 * 评标专家库管理类
 * @author jw.chen
 * @version 2.0.0
 * @date 2020/6/22
 */
public interface IExpertExtractRecordService {

    /**
     * 查询评标专家库列表
     * @param pageVO 分页实体
     * @param expertExtractRecordQueryRequest 评标专家库
     * @return
     */
    Page<ExpertExtractRecord> getExpertExtractRecordList(UserLoginCacheDTO sysUser, PageVO pageVO, ExpertExtractRecordQueryRequest expertExtractRecordQueryRequest);

    /**
     * 查询评标专家库
     * @param expertExtractRecordId
     * @return Wrapper<?>
     */
    ExpertExtractRecord getExpertExtractRecord(UserLoginCacheDTO sysUser, Long expertExtractRecordId);

    /**
     * 修改评标专家库状态
     * @param sysUser
     * @param expertExtractStatusRequest
     * @return
     */
    Boolean updateExpertExtractStatus(UserLoginCacheDTO sysUser, ExpertExtractStatusRequest expertExtractStatusRequest);

    /**
     * 专家评标
     * @param sysUser
     * @param expertEvaluationTenderRequest
     * @return
     */
    String evaluationTender(UserLoginCacheDTO sysUser, ExpertEvaluationTenderRequest expertEvaluationTenderRequest);
}
